C1.LiveLinq.Collections Namespace : IndexedCollection<T> Class |
'Declaration
Public Class IndexedCollection(Of T) Inherits System.Collections.ObjectModel.Collection(Of T) Implements C1.LiveLinq.Indexing.IIndexedSource(Of T), C1.LiveLinq.IObservableSource(Of T)
public class IndexedCollection<T> : System.Collections.ObjectModel.Collection<T>, C1.LiveLinq.Indexing.IIndexedSource<T>, C1.LiveLinq.IObservableSource<T>
If you don't have preexisting collection classes and need to create your own, the best choice is to use the built-in LiveLinq collection class IndexedCollection<T>. It is specifically optimized for LiveLinq use.
Usually, the element class T must implement the property change notification interface System.ComponentModel.INotifyPropertyChanged. The easiest way to implement System.ComponentModel.INotifyPropertyChanged is to derive the element class from IndexableObject.
In rare cases where implementing System.ComponentModel.INotifyPropertyChanged is impossible, a custom C1.LiveLinq.Listeners.PropertyChangeListener<T> can be provided instead.
For details, see Using the built-in collection class IndexedCollection(T) (LiveLinq to Objects).
For alternative options in LiveLinq to Objects, see LiveLinq to Objects: IndexedCollection(T) and other collection classes
The IndexedCollection<T> class is not needed in LiveLinq to DataSet and LiveLinq to XML, because in those cases LiveLinq works with collections that already exist in ADO.NET and XML.
System.Object
System.Collections.ObjectModel.Collection<T>
C1.LiveLinq.Collections.IndexedCollection<T>
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2